promise是一个构造函数,是用来处理异步操作的解决方式。
promise构造函数是同步执行的,then方法是异步执行的。
1)是构造函数
2)用来处理异步操作
3)有两个回调方法resovlg()、reject(),分别是成功和失败,如果这两个方法没有调用时,then方法是不执行的。
示例:
new Promise(resolve=>{
console.log(1);
resolve(3);
}).then(res => {
console.log(res);
});
console.log(2);
// 输出结果 1, 2, 3
Promise.all()
Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。
const p = Promise.all([p1, p2, p3]);
(1)只有p1、p2、p3的状态都变成fulfilled,p的状态才会变成fulfilled,此时p1、p2、p3的返回值组成一个数组,传递给p的回调函数。
(2)只要p1、p2、p3之中有一个被rejected,p的状态就变成rejected,此时第一个被reject的实例的返回值,会传递给p的回调函数。
finally() 方法用于指定不管 Promise 对象最后状态如何,都会执行的操作。该方法
不管promise最后的状态,在执行完then或catch指定的回调函数以后,都会执行finally方法指定的回调函数。
原文出处:http://www.dongblog.com/notes/51.html
来源:博客网 转载请注明出处!